Digital data transmission systems have traditionally been designed for specific applications, and for accommodating relatively narrow ranges of data rates. Continuously variable rate transmitter and receiver systems, however, could provide certain desirable flexibilities; for example, in optimizing variable rate applications for bandwidth requirements, bit error rates, etc. Unfortunately, in order to accommodate flexible upsampling on the transmitter side, or downsampling on the receiver side, traditional data transmission systems have grown in size and hardware complexity. For example, transmission systems typically require a linear increase in the number of filter taps, multipliers, adds, and delay elements for a corresponding increase in the data upsampling and downsampling rate. Hence, the classical hardware solution may have an order-of-magnitude growth for each factor-of-ten increase in the sample rate. Another popular alternative to alleviate impractical hardware growth is the repeated use of multiply-accumulate (MAC) functions. However, this technique requires that the MAC run at integer multiples of the sample rate, greatly restricting top-end speeds. Yet another technique that has been attempted is comb-integrator-comb (CIC) filtering. Unfortunately, CIC filtering is restrictive in terms of filter pass band control characteristics, and CIC register widths tend to grow very large. Furthermore, when CIC filters are used as interpolators, truncation or rounding errors can produce an unstable response.
A need remains for improved systems and methods for downsampling filters.